package com.houweishi.module.typeconfig.service.impl;

import java.util.List;

import com.houweishi.common.annotation.DataScope;
import com.houweishi.common.annotation.DataSource;
import com.houweishi.common.enums.DataSourceType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.houweishi.module.typeconfig.mapper.TypeConfigMapper;
import com.houweishi.module.typeconfig.domain.TypeConfig;
import com.houweishi.module.typeconfig.service.ITypeConfigService;

/**
 * 垃圾分类-配置Service业务层处理
 * 
 * @author houweishi
 * @date 2023-03-10
 */
@Service
public class TypeConfigServiceImpl implements ITypeConfigService 
{
    @Autowired
    private TypeConfigMapper typeConfigMapper;

    /**
     * 查询垃圾分类-配置
     * 
     * @param id 垃圾分类-配置主键
     * @return 垃圾分类-配置
     */
    //切换数据源
    @DataSource(value = DataSourceType.SLAVE)
    @Override
    public TypeConfig selectTypeConfigById(String id)
    {
        return typeConfigMapper.selectTypeConfigById(id);
    }

    /**
     * 查询垃圾分类-配置列表
     * 
     * @param typeConfig 垃圾分类-配置
     * @return 垃圾分类-配置
     */
    @DataSource(value = DataSourceType.SLAVE)
    @Override
    public List<TypeConfig> selectTypeConfigList(TypeConfig typeConfig)
    {
        return typeConfigMapper.selectTypeConfigList(typeConfig);
    }

    /**
     * 新增垃圾分类-配置
     * 
     * @param typeConfig 垃圾分类-配置
     * @return 结果
     */
    @DataSource(value = DataSourceType.SLAVE)
    @Override
    public int insertTypeConfig(TypeConfig typeConfig)
    {
        return typeConfigMapper.insertTypeConfig(typeConfig);
    }

    /**
     * 修改垃圾分类-配置
     * 
     * @param typeConfig 垃圾分类-配置
     * @return 结果
     */
    @DataSource(value = DataSourceType.SLAVE)
    @Override
    public int updateTypeConfig(TypeConfig typeConfig)
    {
        return typeConfigMapper.updateTypeConfig(typeConfig);
    }

    /**
     * 批量删除垃圾分类-配置
     * 
     * @param ids 需要删除的垃圾分类-配置主键
     * @return 结果
     */
    @DataSource(value = DataSourceType.SLAVE)
    @Override
    public int deleteTypeConfigByIds(String[] ids)
    {
        return typeConfigMapper.deleteTypeConfigByIds(ids);
    }

    /**
     * 删除垃圾分类-配置信息
     * 
     * @param id 垃圾分类-配置主键
     * @return 结果
     */
    @DataSource(value = DataSourceType.SLAVE)
    @Override
    public int deleteTypeConfigById(String id)
    {
        return typeConfigMapper.deleteTypeConfigById(id);
    }
}
